//package com.isoftstone.bases.seaweed.service;
//
//import java.io.IOException;
//import java.io.InputStream;
//import java.util.List;
//import net.anumbrella.seaweedfs.core.file.FileHandleStatus;
//import net.anumbrella.seaweedfs.core.http.StreamResponse;
//import org.springframework.web.multipart.MultipartFile;
//
///**
// * Seaweed文件服务器相关服务
// *
// * @author:zhanghao
// * @since: 0.1.1, 2019/7/4 15:50
// */
//public interface SeaweedService {
//
//
//  /**
//   * 上传文件
//   * 带建立连接，可直接调用
//   *
//   * @param fileName 文件名(需带文件后缀)
//   * @param file 文件
//   * @return 文件状态
//   */
//  FileHandleStatus uploadFile(String fileName, MultipartFile file) throws IOException;
//
//  /**
//   * 建立连接
//   */
//  void startConnection() throws IOException;
//
//  /**
//   * 断开连接
//   */
//  void stopConnection() throws IOException;
//
//  FileHandleStatus uploadFile(String fileName, InputStream inputStream)
//      throws IOException;
//
//  /**
//   * 删除文件
//   *
//   * @param fileId fid
//   */
//  FileHandleStatus deleteFile(String fileId) throws IOException;
//
//  /**
//   * 批量删除文件
//   *
//   * @param fileIds fid集合
//   */
//  void betchDeleteFiles(List<String> fileIds) throws IOException;
//
//  /**
//   * 更新文件
//   *
//   * @param fileId fid
//   * @param fileName 文件名(需带文件后缀)
//   * @param file 文件
//   * @return 文件状态
//   */
//  FileHandleStatus updateFile(String fileId, String fileName,
//      MultipartFile file) throws IOException;
//
//  /**
//   * 通过fileId从Seaweed获取文件流
//   *
//   * @param fileId fid
//   * @return 文件流
//   */
//  StreamResponse getFileStreamByfid(String fileId) throws IOException;
//
//  /**
//   * 通过url从Seaweed获取文件流
//   *
//   * @param url url
//   * @return 文件流
//   */
//  StreamResponse getFileStreamByUrl(String url) throws IOException;
//
//
//  /**
//   * 获取文件状态
//   *
//   * @param fileId fid
//   * @return 文件状态
//   */
//  FileHandleStatus getFileStatus(String fileId) throws IOException;
//
//
//}
